package com.itbaizhan.listener;


import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.annotation.WebListener;

/*servletContext对象的属性操作监听器*/
/*1,创建完监听器，在wed.xml 配置<listener>中的<listener-class>  或：注解式开发@WebListener  不用配置参数，
 * 因为只有listener-class，容器会自动找到地址*/

//@WebListener
public class ServletContextAttributeListener implements javax.servlet.ServletContextAttributeListener {
    @Override
    public void attributeAdded(ServletContextAttributeEvent scae) {
        System.out.println("---------Start  Added----------");
        System.out.println("name："+scae.getName()+" value: "+scae.getValue());
        System.out.println(scae.getServletContext());
        System.out.println("-------end added---------");
    }

    @Override
    public void attributeRemoved(ServletContextAttributeEvent scae) {

        System.out.println("---------Start  Remove----------");
        System.out.println("name：" + scae.getName() + " value: " + scae.getValue());
        System.out.println(scae.getServletContext());
        System.out.println("-------end remove---------");
    }
    @Override
    public void attributeReplaced(ServletContextAttributeEvent scae) {
        System.out.println("---------Start  Replace----------");
        //传过来的value是被替换的value
        System.out.println("name："+scae.getName()+" value: "+scae.getValue());
        System.out.println(scae.getServletContext());
        System.out.println("-------end replace---------");
    }
}
/*ServletContext对象的属性操作监听器
ServletContextAttributeListener接口定义了对于ServletContext对象属性操作的监听行为。


void attributeAdded(ServletContextAttributeEvent scae)
向ServletContext对象中添加属性时会触发该监听方法，并将
ServletContext对象传递到该方法中。
触发事件的方法servletContext.setAttribute("key","value")。

void attributeRemoved(ServletContextAttributeEvent scae)
当从ServletContext对象中删除属性时会触发该监听方法，并将
ServletContext对象传递到该方法中。触发事件
方法servletContext.removeAttribute("key")。


void attributeReplaced(ServletContextAttributeEvent scae)
当从ServletContext对象中属性的值发生替换时会触发该监听方法，
并将ServletContext对象传递到该方法中。触发事件的方法
servletContext.setAttribute("key","value")。*/